<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .box1 {
            width: 200px;
            height: 200px;
            background-color: pink;
            margin: 80px auto;
        }

        .box2 {
            width: 200px;
            height: 200px;
            background-color: orange;
            margin: 50px auto;
            display: flex;
            justify-content: center;
            align-items: center;
            /* 两个盒子存在外边距塌陷的问题，取大的那一个margin */
        }

        .wrap {
            overflow: hidden;
            /* float:left; */
            /* position: sticky; */
        }

        .left {
            width: 50px;
            height: 50px;
            background-color: red;
            float: left;
        }

        .right {
            width: 50px;
            height: 50px;
            background-color: blue;
            float: right;
        }
    </style>
</head>

<body>
    <div class="box1"></div>
    <div class="wrap">
        <div class="box2">
            <div class="left"></div>
            <div class="right"></div>
            <p>123</p>
        </div>
    </div>

    <script>
        // BFC Block Formatting Context
        // 块级格式化上下文
        // 其实就是生成的一个独立的空间，内部和外部相互不影响。块级元素
        // 怎么创建一个BFC呢？
        // 1. overflow:hidden (不为visible)
        // 2. float:left/right
        // 3. position: absolute/fixed
        // 4. display:flex,inline-block,table-cell

        // BFC应用：
        // 1. 解决外边距塌陷。
        // 2. 清除浮动(包含浮动元素) 计算BFC高度的时候，浮动的子元素也会参与计算
    </script>
</body>

</html>